package com.zmm.zebulon.module.promotion.biz.convert.banner;

import com.zmm.zebulon.common.pojo.PageResult;
import com.zmm.zebulon.module.promotion.biz.dal.dataobject.banner.BannerDO;
import com.zmm.zebulon.module.promotion.biz.dal.vo.banner.AppBannerRespVO;
import com.zmm.zebulon.module.promotion.biz.dal.vo.banner.BannerCreateReqVO;
import com.zmm.zebulon.module.promotion.biz.dal.vo.banner.BannerRespVO;
import com.zmm.zebulon.module.promotion.biz.dal.vo.banner.BannerUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * description: TODO
 *
 * @author zebulon
 * package com.zmm.zebulon.module.promotion.biz.convert.banner
 * name: BannerConvert
 * date 2025/8/21 20:23
 */
@Mapper
public interface BannerConvert {

    BannerConvert INSTANCE = Mappers.getMapper(BannerConvert.class);

    List<BannerRespVO> convertList(List<BannerDO> list);

    PageResult<BannerRespVO> convertPage(PageResult<BannerDO> pageResult);

    BannerRespVO convert(BannerDO banner);

    BannerDO convert(BannerCreateReqVO createReqVO);

    BannerDO convert(BannerUpdateReqVO updateReqVO);

    List<AppBannerRespVO> convertList01(List<BannerDO> bannerList);

}
